package com.eascs.p2p.wallet.dao;

import com.eascs.app.dao.PageResult;
import com.eascs.p2p.common.entity.InvestorWalletEntity;
import com.eascs.p2p.common.entity.InvestorWalletFlowEntity;
import com.eascs.p2p.common.entity.InvestorWalletPayEntity;
import com.eascs.p2p.common.entity.InvestorWithdrawRecordEntity;
import com.eascs.p2p.common.vo.InvestorWithdrawRecordVO;

public interface InvestorWalletDao {

	/**
	 * @Description: 获取用户钱包
	 * @param investorId 投资人ID
	 */
	public InvestorWalletEntity queryInvestorWallet(String investorId);
	
	/**
	 * @Description: 添加用户钱包
	 * @param InvestorWalletEntity
	 */
	public Integer insertInvestorWallet(InvestorWalletEntity investorWallet);
	
	/**
	 * @Description: 修改用户钱包
	 * @param InvestorWalletEntity
	 */
	public Integer updateInvestorWallet(InvestorWalletEntity investorWallet);
	
	/**
	 * @Description: 获取用户钱包流水
	 * @param investorId 投资人ID
	 * @return PageResult<InvestorWalletFlowEntity>
	 */
	public PageResult<InvestorWalletFlowEntity> findInvestorWalletFlowByPage(String investorId, int transType, int pageSize, int pageIndex);
	
	/**
	 * @Description: 添加用户钱包流水
	 * @param InvestorWalletFlowEntity
	 */
	public Integer insertInvestorWalletFlow(InvestorWalletFlowEntity investorWalletFlow);
	
	/**
	 * @Description: 添加用户支付记录
	 * @param InvestorWalletPayEntity
	 */
	public Integer insertInvestorWalletPay(InvestorWalletPayEntity investorWalletPay);
	
	/**
	 * @Description: 修改用户支付状态
	 * @param InvestorWalletPayEntity
	 */
	public Integer updateInvestorWalletPay(InvestorWalletPayEntity investorWalletPay);
	
	/**
	 * @Description: 查找用户支付状态
	 * @param id
	 */
	public InvestorWalletPayEntity queryInvestorWalletPayById(String id);
	
	
	/**
	 * @Description: 添加用户提款记录
	 * @param InvestorWithdrawRecordEntity
	 */
	public Integer insertWithdrawRecord(InvestorWithdrawRecordEntity withdrawRecord);
	
	/**
	 * @Description: 修改用户提款状态
	 * @param InvestorWithdrawRecordEntity
	 */
	public Integer updateWithdrawRecord(InvestorWithdrawRecordEntity withdrawRecord);
	
	/**
	 * @Description: 查找用户提现状态
	 * @param requestno 提现请求号
	 */
	public InvestorWithdrawRecordEntity queryWithdrawRecordByrequestno(String requestno);
	
	/**
	 * @Description: 查找用户提现状态
	 * @param
	 */
	public InvestorWithdrawRecordEntity queryWithdrawRecordById(String id);
	
	/**
	 * @Title: findPageInvestorWithdrawRecord
	 * @Description: 分页查询提现记录
	 * @author 张庆奇
	 * @param vo
	 * @return
	 * @return PageResult<Object[]>
	 * @throws
	 * @date 2016年8月4日 下午4:47:30
	 */
	public  PageResult<Object[]> findPageInvestorWithdrawRecord(InvestorWithdrawRecordVO vo);
}
